package Day14.Demo01.Excepetion;

/**
 * @author hyhWTX
 * @version 1.0
 * @ClassName Demo01Exception
 * @date 2022年07月18日 13:23
 * @Description: 异常和错误的区别以及分类
 */


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * java.Lang . Throwable:类是ava语言中所有错误或异常的超类。
 *      Exception :编译期异常,进行编译(写代码)java程序出现的问题
 *          RuntimeException:运行期异常,java程序运行过程中出现的问题
 *          异常就相当于程序得了二个小毛病(感冒,友烧),把异常处理掉,程序可以继续执行(吃点药，继卖革命工作)
 *      Error:错误
 *             错误就相当于程序得了一个无法治愈的毛病(非典,艾滋) .必须修改源代码,程序才能继卖执行
 */
public class Demo01Exception {
    public static void main(String[] args)  {
        //Exception :编译期异常,进行编译(写代码)java程序出现的问题
        /*SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//用于格式化时间
        //将字符串格式化的日期，解析为Date格式的日期
        Date date = null;
        try {
            date = sdf.parse("20223-22");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(date);*/


      /*  //RuntimeException:运行期异常,java程序运行过程中出现的问题
        int [] arr = {1,2,3,};
        //System.out.println(arr[0])
        //System.out.println(arr[3]);//ArrayIndexOutOfBoundsException:越界异常
        try {
            //可能会出现异常的代码
            System.out.println(arr[3]);
        } catch (Exception e) {
            //出现异常的处理逻辑
            System.out.println(e);
        }*/

        /**Error:错误
         * OutOfMemoryError:Java heap space
         * 内存溢出错误，创建的数组太大了，超出了JVM的分配的内存
         */

        //int[] arr = new int[1024*1024*1024];//OutOfMemoryError
        //必须要修改代码。创建的数组要小一些
        int[] arr = new int[1024*1024];
        System.out.println("后续代码！");
    }
}
